package com.gym.controller.form.admin;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

public class InsertTrainerForm extends ActionForm  {

	String trainerfirstname;
	String trainerlastname;
	String trainerphone;
	String traineremail;
	String trainerskill;
	String trainernote;
	
	public String getTrainerfirstname() {
		return trainerfirstname;
	}
	public void setTrainerfirstname(String trainerfirstname) {
		this.trainerfirstname = trainerfirstname;
	}
	public String getTrainerlastname() {
		return trainerlastname;
	}
	public void setTrainerlastname(String trainerlastname) {
		this.trainerlastname = trainerlastname;
	}
	public String getTrainerphone() {
		return trainerphone;
	}
	public void setTrainerphone(String trainerphone) {
		this.trainerphone = trainerphone;
	}
	public String getTraineremail() {
		return traineremail;
	}
	public void setTraineremail(String traineremail) {
		this.traineremail = traineremail;
	}
	public String getTrainerskill() {
		return trainerskill;
	}
	public void setTrainerskill(String trainerskill) {
		this.trainerskill = trainerskill;
	}
	public String getTrainernote() {
		return trainernote;
	}
	public void setTrainernote(String trainernote) {
		this.trainernote = trainernote;
	}
	//VALIDAZIONI TODO:
		//valori numerici eventualmente da VALIDARE se valorizzati:
	@Override
	public ActionErrors validate(ActionMapping mapping,
			HttpServletRequest request) {
		
		ActionErrors errorsAdmin= new ActionErrors();
		
		//il nome deve contenere almeno tre caratteri
		if(getTrainerfirstname()==null || getTrainerfirstname().length()<3)
		{
			errorsAdmin.add("invalidFirstName" , new ActionMessage("it.errore.nome.breve"));
		}
		//anche il cognome deve avere almeno tre caratteri
		if (getTrainerlastname()==null || getTrainerlastname().length()<3) {
			errorsAdmin.add("invalidLastName" , new ActionMessage("it.errore.cognome.breve"));
		}
		//definite regole di validazione, simile al like di sql
		String emailreg = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[A-Za-z]{2,})$";
		if(!getTraineremail().matches(emailreg))
		{
			errorsAdmin.add("invalidEmail" , new ActionMessage("it.errore.email"));
		}
		
//		if(getTrainerphone()==null )
//		{
//			errorsAdmin.add("invalidTelephone", new ActionMessage("it.errore.telefono.lunghezza"));
//		}
		
		// validazione trainerskill, necessari almeno tre caratteri
		if(getTrainerskill()==null || getTrainerskill().length()<3)
		{
			errorsAdmin.add("stringLength" , new ActionMessage("it.errore.skill.breve"));
		}
		// non necessaria validazione per trainernote
		return errorsAdmin;
	}
	
	
	
}
